package com.ruoyi.alarm.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import javax.validation.constraints.NotNull;
import lombok.Data;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 监测数据对象 alarm_data
 * 
 * @author yepanpan
 * @date 2025-03-19
 */
@Data
public class AlarmData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增长主键ID */
    private Long id;

    /** 组织ID */
    @Excel(name = "组织ID")
    @NotNull
    private Long deptId;

    /** 设备ID */
    @Excel(name = "设备ID")
    @NotNull
    private Long deviceId;

    /** 设备编码 */
    @Excel(name = "设备编码")
    @NotNull
    private String deviceCode;

    /** 设备类型 */
    @Excel(name = "设备类型")
    @NotNull
    private String deviceType;

    /** 安装位置 */
    @Excel(name = "安装位置")
    @NotNull
    private String position;

    /** 监测指标 */
    @Excel(name = "监测指标")
    private String analogName;

    /** 模拟量单位 */
    @Excel(name = "模拟量单位")
    private String analogType;

    /** 监测值状态，0-低于阀值，1-正常范围，2-高于阀值 */
    @Excel(name = "监测值状态，0-低于阀值，1-正常范围，2-高于阀值", dictType="monitor_data_status", comboReadDict=true)
    @NotNull
    private String dataStatus;

    /** 高阈值 */
    @Excel(name = "高阈值")
    @NotNull
    private BigDecimal thresholdHigh;

    /** 低阈值 */
    @Excel(name = "低阈值")
    @NotNull
    private BigDecimal thresholdLow;

    /** 监测值 */
    @Excel(name = "监测值")
    private BigDecimal analogValue;

    /** 监测时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd")
    @NotNull
    private Date monitorTime;

    /** 监测内容描述 */
    @Excel(name = "监测内容描述")
    @NotNull
    private String content;


}
